home *** CD-ROM | disk | FTP | other *** search
/ Deutsche Edition 1 / Deutsche Edition 1.iso / amok / 081-090 / amok82 / plot / source / reqtoolssupport.mod < prev    next >
Text File  |  1993-11-04  |  3KB  |  125 lines

  1. (*---------------------------------------------------------------------------
  2.   :Program.    ReqToolsSupport.mod
  3.   :Contents.   Umgehung von A4-Problem bei ReqTools-Funktionen
  4.   :Author.     Frank Lömker
  5.   :Copyright.  Public Domain
  6.   :Language.   Modula-2
  7.   :Translator. M2Amiga V4.0d
  8.   :Imports.    ReqTools [kai]
  9.   :History.    V1.0, [Frank Lömker] 24-Feb-92
  10.   :Bugs.       keine bekannt
  11. ---------------------------------------------------------------------------*)
  12.  
  13. IMPLEMENTATION MODULE ReqToolsSupport;
  14.  
  15. FROM UtilityD IMPORT TagItemPtr;
  16. FROM SYSTEM IMPORT ASSEMBLE,ADDRESS;
  17. IMPORT ReqTools;
  18.  
  19. (* Diese Prozeduren sind identisch zu denen aus ReqTools.def, benutzen aber
  20.    nicht das Register A4, so das der Aufruf von Modula aus möglich ist. *)
  21.  
  22. (*$ EntryExitCode:=FALSE *)
  23. PROCEDURE EZRequestA (bodyfmt{9}, gadfmt{10}: ADDRESS (*ARRAY OF CHAR*);
  24.                       reqInfo{11}: ReqTools.ReqInfoPtr;
  25.                       argarray{2}: ADDRESS;
  26.                       tagList{8}: TagItemPtr): LONGINT;
  27. BEGIN
  28.   ASSEMBLE (
  29.     MOVE.L A6,-(A7)
  30.     MOVEA.L ReqTools(A4),A6
  31.     EXG.L D2,A4
  32.     JSR -$42(A6)
  33.     EXG.L D2,A4
  34.     MOVEA.L (A7)+,A6
  35.     RTS
  36.   END);
  37. END EZRequestA;
  38.  
  39. (*$ EntryExitCode:=FALSE *)
  40. PROCEDURE EZRequestTags (bodyfmt{9}, gadfmt{10}: ADDRESS (*ARRAY OF CHAR*);
  41.                          reqInfo{11}: ReqTools.ReqInfoPtr;
  42.                          argarray{2}: ADDRESS;
  43.                          tag1{8}: TagItemPtr):LONGINT;
  44. BEGIN
  45.   ASSEMBLE (
  46.     MOVE.L A6,-(A7)
  47.     MOVEA.L ReqTools(A4),A6
  48.     EXG.L D2,A4
  49.     JSR -$42(A6)
  50.     EXG.L D2,A4
  51.     MOVEA.L (A7)+,A6
  52.     RTS
  53.   END);
  54. END EZRequestTags;
  55.  
  56. (*$ EntryExitCode:=FALSE *)
  57. PROCEDURE EZRequest (bodyfmt{9}, gadfmt{10}: ADDRESS (*ARRAY OF CHAR*);
  58.                      reqInfo{11}: ReqTools.ReqInfoPtr;
  59.                      tagList{8}: TagItemPtr;
  60.                      argarray{2}: ADDRESS (*LONGINT*)): LONGINT;
  61. BEGIN
  62.   ASSEMBLE (
  63.     MOVE.L A6,-(A7)
  64.     MOVEA.L ReqTools(A4),A6
  65.     EXG.L D2,A4
  66.     JSR -$42(A6)
  67.     EXG.L D2,A4
  68.     MOVEA.L (A7)+,A6
  69.     RTS
  70.   END);
  71. END EZRequest;
  72.  
  73. (*$ EntryExitCode:=FALSE *)
  74. PROCEDURE vEZRequestA (bodyfmt{9}, gadfmt{10}: ADDRESS (*ARRAY OF CHAR*);
  75.                        reqInfo{11}: ReqTools.ReqInfoPtr;
  76.                        argarray{2}: ADDRESS;
  77.                        tagList{8}: TagItemPtr);
  78. BEGIN
  79.   ASSEMBLE (
  80.     MOVE.L A6,-(A7)
  81.     MOVEA.L ReqTools(A4),A6
  82.     EXG.L D2,A4
  83.     JSR -$42(A6)
  84.     EXG.L D2,A4
  85.     MOVEA.L (A7)+,A6
  86.     RTS
  87.   END);
  88. END vEZRequestA;
  89.  
  90. (*$ EntryExitCode:=FALSE *)
  91. PROCEDURE vEZRequestTags (bodyfmt{9}, gadfmt{10}: ADDRESS (*ARRAY OF CHAR*);
  92.                           reqInfo{11}: ReqTools.ReqInfoPtr;
  93.                           argarray{2}: ADDRESS;
  94.                           tag1{8}: TagItemPtr);
  95. BEGIN
  96.   ASSEMBLE (
  97.     MOVE.L A6,-(A7)
  98.     MOVEA.L ReqTools(A4),A6
  99.     EXG.L D2,A4
  100.     JSR -$42(A6)
  101.     EXG.L D2,A4
  102.     MOVEA.L (A7)+,A6
  103.     RTS
  104.   END);
  105. END vEZRequestTags;
  106.  
  107. (*$ EntryExitCode:=FALSE *)
  108. PROCEDURE vEZRequest (bodyfmt{9}, gadfmt{10}: ADDRESS (*ARRAY OF CHAR*);
  109.                       reqInfo{11}: ReqTools.ReqInfoPtr;
  110.                       tagList{8}: TagItemPtr;
  111.                       argarray{2}: ADDRESS (*LONGINT*));
  112. BEGIN
  113.   ASSEMBLE (
  114.     MOVE.L A6,-(A7)
  115.     MOVEA.L ReqTools(A4),A6
  116.     EXG.L D2,A4
  117.     JSR -$42(A6)
  118.     EXG.L D2,A4
  119.     MOVEA.L (A7)+,A6
  120.     RTS
  121.   END);
  122. END vEZRequest;
  123.  
  124. END ReqToolsSupport.
  125.